package com.youlai.boot.system.model.form;

import java.io.Serial;
import java.io.Serializable;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import java.time.LocalDateTime;
import com.fasterxml.jackson.annotation.JsonFormat;
import jakarta.validation.constraints.*;

/**
 * 销售追溯表单对象
 *
 * @author liwenbing
 * @since 2025-04-09 14:27
 */
@Getter
@Setter
@Schema(description = "销售追溯表单对象")
public class SysDianciSellRetrospectForm implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    private Long id;

    @Schema(description = "订单编号")
    @NotBlank(message = "订单编号不能为空")
    @Size(max=64, message="订单编号长度不能超过64个字符")
    private String orderNo;

    @Schema(description = "客户名称")
    @NotBlank(message = "客户名称不能为空")
    @Size(max=64, message="客户名称长度不能超过64个字符")
    private String userName;

    @Schema(description = "产品型号")
    @NotBlank(message = "产品型号不能为空")
    @Size(max=64, message="产品型号长度不能超过64个字符")
    private String spec;

    @Schema(description = "销售数量")
    @NotBlank(message = "销售数量不能为空")
    @Size(max=64, message="销售数量长度不能超过64个字符")
    private String sellNum;

    @Schema(description = "销售金额")
    @NotBlank(message = "销售金额不能为空")
    @Size(max=64, message="销售金额长度不能超过64个字符")
    private String sellSum;

    @Schema(description = "销售状态")
    @NotNull(message = "销售状态不能为空")
    private Integer sellState;

    @Schema(description = "销售时间")
    @NotNull(message = "销售时间不能为空")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime sellTime;

    @Schema(description = "备注")
    @Size(max=255, message="备注长度不能超过255个字符")
    private String remark;


}
